
// import { handleCofirm } from '@/utils/confirm'//删除弹框
import MenuHeader from '../../../components/vue/Header.vue' // 头部

export default {
  components: {
    MenuHeader
  },
  data () {
    return {
      // 获取用户列表的参数对象
      queryInfo: {
        query: '', // 搜索关键词
        // 当前的页数
        pagenum: 1,
        // 当前每页显示多少条数据
        pagesize: 2
      },
      total: 0, // 总条数
      tableData: [], // 查询的列表数据
      search: '', // 默认搜索关键词
      junp: 0,
      menuRow: {}, // 要删除的菜谱信息
      dialogVisible: false // 删除对话框默认不显示
    }
  },
  mounted: function () {
    // 当前加入列表页加载数据显示
    this.getReList()
  },
  methods: {
    getReList () {
      let {
        uroleid,
        userid
      } = JSON.parse(window.sessionStorage.getItem('user'))
      if (uroleid === 0) {
        uroleid = userid
      } else if (uroleid === 1) {
        uroleid = null
      }
      var vuethis = this
      this.$axios.get('MenuController/findAll.action', {
        params: {
          delstatus: 2,
          uroleid: uroleid, // 角色id
          page: this.queryInfo.pagenum, // 当前页
          count: this.queryInfo.pagesize // 当前页显示条数
        }
      })
        .then(response => { // 输出后端返回的数据
          // console.log(response.data);
          vuethis.tableData = response.data.menus
          vuethis.total = response.data.total
        })
        .catch(error => {
          vuethis.$message.error('数据查询失败')
        })
    },
    // 恢复按钮
    handleBack (index, row) {
      console.log(index, row)
      this.menuRow = row // 要恢复的菜谱信息
      this.junp = 1 // 恢复框提示
      this.dialogVisible = true // 显示恢复对话框默认
    },
    // 永久删除按钮
    handleRemove (index, row) { // console.log(index, row);
      this.menuRow = row // 要删除的菜谱信息
      this.junp = 2 // 删除框提示
      this.dialogVisible = true // 显示删除对话框默认
    },
    // 点击对话框的确定按钮，执行数据操作
    Rows () {
      this.dialogVisible = false // 隐藏删除对话框默认
      // 发送删除菜谱的ajax请求
      const vuethis = this
      // junp1是恢复操作 junp2是永久删除操作
      let ref = '' // 请求地址
      if (this.junp == 1) {
        ref = 'http://localhost:8089/push_war_exploded/MenuController/deleteById.action?number=1'
      } else if (this.junp == 2) {
        ref = 'http://localhost:8089/push_war_exploded/MenuController/deleteById.action?number=3'
      }
      this.$axios.get(
        ref, {
          params: {
            menuid: vuethis.menuRow.menuid
          }
        }
      ).then(response => {
        // 发送请求成功后重新渲染页面
        this.getReList()
        // 是否成功的信息提示
        if (response.data > 0) {
          vuethis.$message({
            message: '操作成功',
            type: 'success'
          })
        } else {
          vuethis.$message.error('操作失败')
        }
      }).catch(error => {
        vuethis.$message.error('请求失败')
      })
    },
    // 删除对话框的右上角的确认关闭操作
    handleClose (done) {
      this.$confirm('确认关闭？')
        .then(_ => {
          done()
        })
        .catch(_ => {})
    }, // 监听 pagesize 改变的事件
    handleSizeChange (newSize) {
      // console.log(newSize)
      this.queryInfo.pagesize = newSize
      this.getReList() // 重新获取数据
    },
    // 监听 页码值 改变的事件
    handleCurrentChange (newPage) {
      // console.log(newPage)
      this.queryInfo.pagenum = newPage
      this.getReList() // 重新获取数据
    }
  }
}
